package eo.builder;

import java.io.File;
import java.io.FileNotFoundException;
import java.net.URL;
import java.util.List;

import eo.application.ApplicationConfiguration;
import eo.application.io.Externalizable;

public interface ApplicationBuilder extends Externalizable {

    void addToClasspath(final URL url);

    void addToClasspath(final File file) throws FileNotFoundException;

    List<URL> getClasspathEntries();

    void addDefaultClasspathEntries();

    ApplicationConfiguration buildApplication() throws ClassNotFoundException,
            InstantiationException, IllegalAccessException;
}
